﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using l1cs.server.model.Instance;
using l1cs.server.serverpackets;

namespace l1cs.server.clientpackets
{
    public class C_BanParty : ClientBasePacket
    {
        private const String _C_BAN_PARTY = "[C] C_BanParty";
        private static Logger _log = Logger.getLogger( typeof( C_BanParty ).FullName );

        public C_BanParty( byte[] decrypt, ClientThread client )
            : base( decrypt )
        {
            String s = readS();

            L1PcInstance player = client.getActiveChar();
            if ( !player.getParty().isLeader( player ) )
            {
                // パーティーリーダーでない場合
                player.sendPackets( new S_ServerMessage( 427 ) ); // パーティーのリーダーのみが追放できます。
                return;
            }

            foreach ( L1PcInstance member in player.getParty().getMembers() )
            {
                if ( string.Compare( member.getName(), s, true ) == 0 )
                {
                    player.getParty().kickMember( member );
                    return;
                }
            }
            // 見つからなかった
            player.sendPackets( new S_ServerMessage( 426, s ) ); // %0はパーティーメンバーではありません。
        }

        override
        public String getType()
        {
            return _C_BAN_PARTY;
        }
    }
}